.joe_live {
	&__contain {
		position: relative;
		background: var(--background);
		border-radius: var(--radius-wrap);
		box-shadow: var(--box-shadow);
		padding: 60px 15px 15px;
		&-title {
			display: flex;
			align-items: center;
			position: absolute;
			top: 15px;
			left: -10px;
			background: var(--theme);
			color: #fff;
			font-weight: 500;
			box-shadow: 2px 5px 10px rgba(49, 58, 70, 0.15);
			height: 30px;
			line-height: 30px;
			padding: 0 12px;
			border-radius: 2px 2px 2px 0;
			user-select: none;

			&::after {
				content: '';
				position: absolute;
				bottom: -10px;
				left: -10px;
				border-style: solid;
				border-width: 10px;
				border-color: var(--theme) transparent transparent;
				transform: rotate(90deg);
			}
		}
	}
	&__type {
		margin-bottom: 15px;
		&-title {
			padding-right: 8px;
			.icon {
				width: 15px;
				height: 15px;
				fill: #fff;
				margin-left: 5px;
				cursor: pointer;
			}
		}
		&-list {
			display: grid;
			gap: 15px;
			grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
			border-top: 1px solid var(--classC);
			padding-top: 15px;
			.item {
				user-select: none;
				white-space: nowrap;
				text-overflow: ellipsis;
				overflow: hidden;
				background: var(--classD);
				height: 28px;
				line-height: 28px;
				border-radius: 14px;
				cursor: pointer;
				color: var(--routine);
				font-size: 12px;
				padding: 0 15px;
				text-align: center;
				transition: color 0.35s, background 0.35s, box-shadow 0.35s, transform 0.35s;
				&.active {
					transform: translateY(-2px);
					color: #fff;
					background: var(--theme);
					box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
				}
				&:hover {
					transform: translateY(-2px);
					box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
				}
			}
			.error {
				text-align: center;
				color: var(--routine);
				user-select: none;
			}
		}
	}
	&__list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
		&-item {
			display: block;
			overflow: hidden;
			border-radius: var(--radius-wrap);
			.thumb {
				position: relative;
				width: 100%;
				height: 140px;
				.screenshot {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
				.recommendTagName {
					position: absolute;
					top: 8px;
					right: 8px;
					background: #f90;
					color: #fff;
					font-size: 12px;
					padding: 2px 8px;
					border-radius: 2px;
					font-style: normal;
					z-index: 4;
				}
				&::before {
					content: '';
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					background: rgba(0, 0, 0, 0);
					transition: background 0.3s ease-out;
					z-index: 2;
				}
				&::after {
					content: '';
					position: absolute;
					top: 50%;
					left: 50%;
					width: 50px;
					height: 50px;
					margin: -25px 0 0 -25px;
					opacity: 0;
					background: url(../img/play.png) no-repeat;
					transform: scale(2);
					transition: transform 0.25s ease-out, opacity 0.25s ease-out;
					z-index: 3;
				}
				&:hover {
					&::before {
						background: rgba(0, 0, 0, 0.5);
					}
					&::after {
						opacity: 0.8;
						transform: scale(1);
					}
				}
			}
			.description {
				position: relative;
				background: var(--background);
				padding: 15px 10px 10px;
				.avatar {
					position: absolute;
					top: -20px;
					left: 0;
					z-index: 9;
					.icon {
						height: 35px;
						fill: var(--background);
					}
					img {
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						width: 25px;
						height: 25px;
						object-fit: cover;
						border-radius: 50%;
					}
				}
				.nick {
					position: relative;
					color: var(--minor);
					font-size: 12px;
					padding-left: 13px;
					margin-bottom: 5px;
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis;
					&::before {
						position: absolute;
						top: 50%;
						left: 0;
						transform: translateY(-50%);
						content: '';
						border: 2px solid #0056ff;
						height: 4px;
						width: 4px;
						border-radius: 50%;
					}
				}
				.introduction {
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis;
					color: var(--main);
					border-bottom: 1px solid var(--classD);
					padding-bottom: 8px;
					margin-bottom: 8px;
				}
				.meta {
					display: flex;
					align-items: center;
					font-size: 12px;
					color: var(--minor);
					.icon {
						width: 13px;
						height: 13px;
						margin-right: 3px;
					}
					.name {
						color: #f90;
						margin-left: auto;
					}
				}
			}
		}
		&:empty {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			height: 180px;
			&::after {
				content: '';
				display: block;
				width: 70px;
				height: 70px;
				background: url();
				background-repeat: no-repeat;
				background-size: 100% 100%;
			}
		}
	}
	&__pagination {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding-top: 15px;
		&-item {
			user-select: none;
			cursor: pointer;
			margin-left: 5px;
			height: 32px;
			line-height: 32px;
			padding: 0 15px;
			background: var(--background);
			color: var(--main);
			border-radius: 2px;
			transition: background 0.35s, color 0.35s;
			&:first-child {
				margin-left: 0;
			}
			svg {
				fill: var(--routine);
				transition: fill 0.35s;
			}
			.next {
				transform: rotate(180deg);
			}
			&.active,
			&:hover {
				color: #fff;
				background: var(--theme);
				svg {
					fill: #fff;
				}
			}
		}
	}
	&__play {
		&-player {
			width: 100%;
			height: 550px;
			background: #000;
		}
	}
}
